package logique.calculateur;

import java.util.LinkedList;

import logique.preferences.PreferencesUtilisateur;
import logique.reseau.Ville;

public abstract class Initialisation extends Algorithme{

	protected LinkedList<Ville> villesVoisines;
	protected boolean activeVoisines = false;

	/**
	 * Contrairement à calculItineraire de Alorithme, cette méthode de Initialisation n'efface pas
	 * les evaluations. Celles-ci pourront alors être utilisées par l'algorithme ayant appeler l'initialisation 
	 * qui lui effacera les evaluations.
	 */
	@Override
	public Itineraire calculeItineraire(Calculateur c, PreferencesUtilisateur prefs){
		calculateur = c;
		this.prefs = prefs;
		Itineraire itineraire = calcule();
		return itineraire;
	}
	
	@Override
	public Initialisation getInitialisation(){
		return null;
	}
	
	public LinkedList<Ville> getVillesVoisines(){
		return villesVoisines;
	}
	
	public void activeVillesVoisines(boolean active){
		activeVoisines = active;
	}
	
	public boolean isActiveVillesVoisines(){
		return activeVoisines;
	}
}
